(1) Field of the Invention
The invention relates to an updating method for keyboard controllers, and more particularly to a method that is applied to update the keyboard controller of a notebook computer.
(2) Description of the Prior Art
It is well known that a keyboard controller (KBC) of a notebook computer is used to manage system's commands and data, to receive data sent from a personal system/2 (PS/2) keyboard or a PS/2 mouse, and to forward commands and data to the PS/2 keyboard or mouse in accordance with the system's commands. Also, the keyboard controller of the notebook computer may need to take charge in scanning of a keyboard matrix, controlling, managing and even re-charging/discharging of power.
Referring to FIG. 1, a block diagram is used to show one of the internal systems of a conventional notebook computer. A keyboard controller 102 of FIG. 1 is embodied as a microcomputer. As shown, when a central processing unit (CPU) 104 proceeds to update programs or functions stored in the read only memory (ROM) 106 belonged to the keyboard controller 102 other than internal systems of the notebook computer 100, a program for updating the ROM 106 can be downloaded, from a floppy disk or a hard disk 110, to a random access memory (RAM) 108 belonged to the keyboard controller 102 through a low pin count/industry standard architecture (LPC/ISA) bus 112. Also, the keyboard controller 102 is notified to jump to an initial address inside the RAM 108 with respect to the program for updating the ROM 106 for processing a writing (i.e. updating) operation.
Referring to FIG. 2, a block diagram is used to show another internal system of a conventional notebook computer, which presents a shared ROM structure. By comparing FIG. 1 and FIG. 2, the difference is at the ROM. In FIG. 2, the ROM 202 further includes an area 204 corresponding to the keyboard controller 102 and another area 206 corresponding to internal systems of the notebook computer 100. When the CPU 104 proceeds to update the ROM 202, the keyboard controller 102 can be notified to jump to an initial address inside the RAM 108 with respect to a program for updating the ROM 202 for processing a writing (i.e. updating) operation. Alternatively, the keyboard controller 102 may be notified to enter an idle status so as to wait for a wakeup command from the CPU 104 to process the writing operation. Upon such a situation, the program for updating the ROM 202 can determine whether the entire ROM 202 needs to be rewritten or just the keyboard controller's area 204 needs to be rewritten.
In the art, a KBC flash utility can only be executed under the DOS environment, and firmware for the keyboard controller 102 that is stored in the keyboard controller 102 and the ROM 106 would reboot the computer after the flashing (i.e. updating). However, since the keyboard controller of the notebook computer is used to control the ON/OFF of the power, the rebooting after the flashing will accordingly shut down the entire internal systems of the notebook computer. It would meet no problem if the above operation works under the DOS environment. However, under the Windows environment, an abnormal shutdown warning message will show because the aforesaid flashing operation is not coherent with a shutdown procedure organized by the Windows system. Furthermore, while the Windows system is abnormally shut down, the magnetic head of the hard disk will not anchor at a default position so that the lifetime of the hard disk will be substantially shortened. Therefore, it is quite obvious that the KBC flash utility can only be executed with the DOS environment and cannot be performed under the Windows environment.
On the other hand, in the case that the keyboard controller does not control the ON/OFF of the notebook computer, a keyboard and a mouse for the notebook computer may also be invalid after the firmware is flashed under the Windows environment. The reason is that a keyboard and mouse interface default will be automatically switched off while the keyboard controller is rebooted. Hence, even if that the internal systems of the notebook computer are not switched off, the notebook computer would still be shut down for those invalid keyboard and mouse. Accordingly, the abnormal shutdown warning message under the Windows environment will still show.
Further, it is noted that the Windows system does not support the DOS system anymore after the Windows ME and Windows 2000 are introduced into the market. Also, most manufacturers and retailers of the notebook computers provide no support to the DOS systems for their products in the market. Therefore, it can be foreseen that obtaining the DOS system will be very difficult in the future. Thus, the difficulty in updating or flashing upon the KBC flash utility for the notebook computers can be expected.